h=[10,30,70,80];
%% ���������,ƫ�������ͼ
for i=1:4
    eval(['load data',num2str(h(i))]);
    eval(['[acf(:,',num2str(i),'),lags,bounds]=autocorr(e);']);
    eval(['[pacf(:,',num2str(i),'),lags,bounds]=parcorr(e);']);
end
figure;
subplot(2,1,1);
c=bar(0:20,acf,0.8);
set(c(1),'FaceColor','c');
set(c(2),'FaceColor','y');
set(c(3),'FaceColor','g');
set(c(4),'FaceColor','m');
xlim([-0.5,20.5]);
ylim([0,1.02]);
hl=legend('10m','30m','70m','80m');
set(hl,'Orientation','horizon');
hold on
% plot([-0.5,20.5],[bounds(1),bounds(1)],'--r');
% xlabel('Lag');
set(gca,{'xticklabel'},{[]});
ylabel('ACF');
set(gca, 'FontName','Times New Roman','FontWeight','bold');
% set(gca, 'FontSize', 30);
subplot(2,1,2);
c=bar(0:20,pacf,0.8);
set(c(1),'FaceColor','c');
set(c(2),'FaceColor','y');
set(c(3),'FaceColor','g');
set(c(4),'FaceColor','m');
xlim([-0.5,20.5]);
ylim([-0.1,1.02]);
hl=legend('10m','30m','70m','80m');
set(hl,'Orientation','horizon');
hold on
% plot([-0.5,20.5],[bounds(1),bounds(1)],'--k','linewidth',1);
% plot([-0.5,20.5],[bounds(2),bounds(2)],'--k','linewidth',1);
xlabel('Lag');
ylabel('PACF');
set(gca, 'FontName','Times New Roman','FontWeight','bold');

%% ��1���ͺ����ͼ
figure;
for i=1:4
    eval(['load data',num2str(h(i))]);
    subplot(2,2,i)
    k=polyfit(e(1:end-1),e(2:end),1);    
    plot(e(1:end-1),e(2:end),'.','Markersize',1,'color',[0,113/255,188/255]);
    hold on
    plot([min(e),max(e)],[k(1)*min(e)+k(2),k(1)*max(e)+k(2)],'-k','linewidth',1);
%     set(gca, 'FontSize', 15);
    eval(['tex=text(10,10,''y=',num2str(k(1)),'x+',num2str(k(2)),''');']);
    set(tex,'fontname','Times New Roman');
%     legend boxoff
    if i==1
        xlim([-10,12]);
        ylim([-10,12]);
    end
    if i==2
        xlim([-10,12]);
        ylim([-10,12]);
    end
    if i==3
        xlim([-10,13]);
        ylim([-10,13]);
    end
    if i==4
        xlim([-12,14]);
        ylim([-12,14]);
    end
    eval(['title([''\fontname{Times New Roman}',num2str(h(i)),'m'']);']);
    set(gca, 'FontName','Times New Roman','FontWeight','bold');
end
xlabel('Error (m/s)');
ylabel('Error of one-step(15min) lag(m/s)');

%% ������������������ϵ��
% for i=1:4
%     eval(['load data',num2str(h(i))]);
%     [rho(i,1),p(i,1)] = corr(qx,e,'type','Kendall');
%     [rho(i,2),p(i,2)] = corr(qx,e,'type','Spearman');
% end

%% ����80mԭʼ���ݺ����ͼ
subplot(3,1,1);
load data80;
plot(cf);
hold on
load data80test;
plot([34177:34176+length(cf)],cf,'r');
hold on
plot([34177,34177],[0,22],'--k');
xlim([0,45888]);
ylim([0,22]);
ylabel('Wind Speed (m/s)');
text(40000,20,'Measured','FontName','Times New Roman','FontWeight','bold');
set(gca,{'xticklabel'},{[]});
set(gca,'FontName','Times New Roman','FontWeight','bold');

subplot(3,1,2);
load data80;
plot(qx);
hold on
load data80test;
plot([34177:34176+length(qx)],qx,'r');
hold on
plot([34177,34177],[0,22],'--k');
xlim([0,45888]);
ylim([0,22]);
text(40000,20,'NWP','FontName','Times New Roman','FontWeight','bold');
set(gca,{'xticklabel'},{[]});
set(gca,'FontName','Times New Roman','FontWeight','bold');

subplot(3,1,3);
load data80;
plot(e);
hold on
load data80test;
plot([34177:34176+length(e)],e,'r');
hold on
plot([34177,34177],[-13,13],'--k');
ylabel('Error (m/s)');
xlim([0,45888]);
ylim([-13,13]);
text(40000,10,'Error','FontName','Times New Roman','FontWeight','bold');
set(gca,'FontName','Times New Roman','FontWeight','bold');

%% ͳ�Ʋв����ָ��
for i=1:4
    eval(['load data',num2str(h(i))]);
    m(i)=mae(e);
    r(i)=sqrt(mse(e));
    ma(i)=max(e);
    mi(i)=min(e);
end

%% C-V
load('testhidden.mat');
plot(testPerformance10m,'-s','linewidth',1.5);
hold on
plot(testPerformance30m,'-o','linewidth',1.5);
hold on
plot(testPerformance70m,'-*','linewidth',1.5);
hold on
plot(testPerformance80m,'-^','linewidth',1.5);
xlim([1,20]);
set(gca,'FontName','Times New Roman','FontWeight','bold','Fontsize',14);
xlabel('Number of hidden neurons');
ylabel('MAE');
hl=legend('10m','30m','70m','80m');
set(hl,'Orientation','horizon');
set(gca,'Xgrid','on');

%% NARX��,����,ԭʼ�ıȽ�
load data10_deal
figure(1);
plot(e_origin,'-','linewidth',1.2);
hold on
plot(e_ar,'r-','linewidth',1.2);
hold on
plot(e_narx,'m-','linewidth',1.2);
% hold on
% plot(e_narxm,'k-.','Markersize',6);
% set(gca, 'FontSize', 30);
% hl=legend('Error-Origin','Error-AR(1)','Error-Narx');
% set(hl,'Orientation','horizon');
% set(hl,'Box','off');
xlim([1,96]);
ylabel('MAE(m/s)');
xlabel('Step');
title('10m');
set(gca,'FontName','Times New Roman','FontWeight','bold','Fontsize',14);
set(gca,'Ygrid','on');
% hl=legend('Origin data','AR(1)','Narx');
% set(hl,'Orientation','horizon');

load data30_deal
figure(2);
plot(e_origin,'-','linewidth',1.2);
hold on
plot(e_ar,'r-','linewidth',1.2);
hold on
plot(e_narx,'m-','linewidth',1.2);
% hold on
% plot(e_narxm,'k-.','Markersize',6);
% set(gca, 'FontSize', 30);
% hl=legend('Error-Origin','Error-AR(1)','Error-Narx');
% set(hl,'Orientation','horizon');
% set(hl,'Box','off');
xlim([1,96]);
ylabel('MAE(m/s)');
xlabel('Step');
title('30m');
set(gca,'FontName','Times New Roman','FontWeight','bold','Fontsize',14);
set(gca,'Ygrid','on');
% hl=legend('Origin data','AR(1)','Narx');
% set(hl,'Orientation','horizon');

load data70_deal
figure(3);
plot(e_origin,'-','linewidth',1.2);
hold on
plot(e_ar,'r-','linewidth',1.2);
hold on
plot(e_narx,'m-','linewidth',1.2);
% hold on
% plot(e_narxm,'k-.','Markersize',6);
% set(gca, 'FontSize', 30);
% hl=legend('Error-Origin','Error-AR(1)','Error-Narx');
% set(hl,'Orientation','horizon');
% set(hl,'Box','off');
xlim([1,96]);
ylabel('MAE(m/s)');
xlabel('Step');
title('70m');
set(gca,'FontName','Times New Roman','FontWeight','bold','Fontsize',14);
set(gca,'Ygrid','on');
% hl=legend('Origin data','AR(1)','Narx');
% set(hl,'Orientation','horizon');

load data80_deal
figure(4);
plot(e_origin,'-','linewidth',1.2);
hold on
plot(e_ar,'r-','linewidth',1.2);
hold on
plot(e_narx,'m-','linewidth',1.2);
% hold on
% plot(e_narxm,'k-.','Markersize',6);
% set(gca, 'FontSize', 30);
% hl=legend('Error-Origin','Error-AR(1)','Error-Narx');
% set(hl,'Orientation','horizon');
% set(hl,'Box','off');
xlim([1,96]);
ylabel('MAE(m/s)');
xlabel('Step');
title('80m');
set(gca,'FontName','Times New Roman','FontWeight','bold','Fontsize',14);
set(gca,'Ygrid','on');
% hl=legend('Origin data','AR(1)','Narx');
% set(hl,'Orientation','horizon');

load data10_deal
j=48;
enarx=error_narx(j,:)';
qxnarx=qx_narx(j,:)';
gridx1=min(enarx):.1:max(enarx);%�������������,����0.1
gridx2=min(qxnarx):.1:max(qxnarx);%���ַ���������,����0.1
[x1,x2]=meshgrid(gridx1, gridx2);
x1=x1(:);
x2=x2(:);
xi=[x1 x2];%����4��,Ϊ�̶�ʽ,���γ�2ά����,ÿһ����һ�������
X=[enarx,qxnarx];%�������������ٽ�������,�γ�ʵ�����ݵ�ռ�
% ksdensity(X,xi);
[gl,bl]=ksdensity(X,xi);
colormap(jet);
pcolor(gridx1,gridx2,reshape(gl*100,length(gridx2),length(gridx1)));%surfͿɫ,mesh��Ϳɫ
shading interp
colorbar;
ylabel('Corrected wind Speed(m/s)');
xlabel('Revised error(m/s)');
title('10m');
ylabel(colorbar,'JPD(%)')
set(gca,'FontName','Times New Roman','FontWeight','bold','Fontsize',14);
% save data10_deal

load data30_deal
j=48;
enarx=error_narx(j,:)';
qxnarx=qx_narx(j,:)';
gridx1=min(enarx):.1:max(enarx);%�������������,����0.1
gridx2=min(qxnarx):.1:max(qxnarx);%���ַ���������,����0.1
[x1,x2]=meshgrid(gridx1, gridx2);
x1=x1(:);
x2=x2(:);
xi=[x1 x2];%����4��,Ϊ�̶�ʽ,���γ�2ά����,ÿһ����һ�������
X=[enarx,qxnarx];%�������������ٽ�������,�γ�ʵ�����ݵ�ռ�
% ksdensity(X,xi);
[gl,bl]=ksdensity(X,xi);
colormap(jet);
pcolor(gridx1,gridx2,reshape(gl*100,length(gridx2),length(gridx1)));%surfͿɫ,mesh��Ϳɫ
shading interp
colorbar;
ylabel('Corrected wind Speed(m/s)');
xlabel('Revised error(m/s)');
title('30m');
ylabel(colorbar,'JPD(%)')
set(gca,'FontName','Times New Roman','FontWeight','bold','Fontsize',14);
% save data30_deal

load data70_deal
j=48;
enarx=error_narx(j,:)';
qxnarx=qx_narx(j,:)';
gridx1=min(enarx):.1:max(enarx);%�������������,����0.1
gridx2=min(qxnarx):.1:max(qxnarx);%���ַ���������,����0.1
[x1,x2]=meshgrid(gridx1, gridx2);
x1=x1(:);
x2=x2(:);
xi=[x1 x2];%����4��,Ϊ�̶�ʽ,���γ�2ά����,ÿһ����һ�������
X=[enarx,qxnarx];%�������������ٽ�������,�γ�ʵ�����ݵ�ռ�
% ksdensity(X,xi);
[gl,bl]=ksdensity(X,xi);
colormap(jet);
pcolor(gridx1,gridx2,reshape(gl*100,length(gridx2),length(gridx1)));%surfͿɫ,mesh��Ϳɫ
shading interp
colorbar;
ylabel('Corrected wind Speed(m/s)');
xlabel('Revised error(m/s)');
title('70m');
ylabel(colorbar,'JPD(%)')
set(gca,'FontName','Times New Roman','FontWeight','bold','Fontsize',14);
% save data70_deal

load data80_deal
j=48;
enarx=error_narx(j,:)';
qxnarx=qx_narx(j,:)';
gridx1=min(enarx):.1:max(enarx);%�������������,����0.1
gridx2=min(qxnarx):.1:max(qxnarx);%���ַ���������,����0.1
[x1,x2]=meshgrid(gridx1, gridx2);
[xh1,xh2]=meshgrid(gridx1, gridx2);
x1=x1(:);
x2=x2(:);
xi=[x1 x2];%����4��,Ϊ�̶�ʽ,���γ�2ά����,ÿһ����һ�������
X=[enarx,qxnarx];%�������������ٽ�������,�γ�ʵ�����ݵ�ռ�
% ksdensity(X,xi);
[gl,bl]=ksdensity(X,xi);
colormap(jet);
pcolor(gridx1,gridx2,reshape(gl*100,length(gridx2),length(gridx1)));%surfͿɫ,mesh��Ϳɫ
shading interp
colorbar;
ylabel('Corrected wind Speed(m/s)');
xlabel('Revised error(m/s)');
title('80m');
ylabel(colorbar,'JPD(%)')
set(gca,'FontName','Times New Roman','FontWeight','bold','Fontsize',14);
% save data80_deal